#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File   : txUdpServ.py
# @Email  : xuexia_xu@feidee.com
# @Time   : 2024/4/7 11:10
# @Desc   : 《Python核心编程第3版》2.4.6 示例 2-6 UDP 时间戳服务器
"""
UDP 客户端循环工作方式几乎和 TCP 客户端完全一样。唯一的区别是，事先不需要建立与 UDP 服务器的连接，只是简单地发送一条消息并等待服务器的回复。
"""

from socket import *
from time import ctime

HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
# 创建服务器套接字
udpCliSock = socket(AF_INET, SOCK_DGRAM)

while True:
    data = input('>')
    if not data:
        break
    udpCliSock.sendto((bytes(data, 'utf-8')), ADDR)
    data_recv, ADDR = udpCliSock.recvfrom(BUFSIZ)
    if not data_recv:
        break
    print(data_recv.decode())
udpCliSock.close()
